<?php
require_once ('ListaNfse.php');
require_once ('Rps.php');
require_once ('Prestador.php');



/**
 * @version 1.0
 * @created 09-out-2013 22:01:11
 */
class LoteRps
{

	private $DataRecebimento;
	private $ListaNfse;
	private $ListaRps;
	private $NumeroLote;
	private $Prestador;
	private $Protocolo;
	private $QuantidadeRps;
	private $Situacao;
	private $ListaMensagemRetorno;
	private $ListaMensagemAlertaRetorno;
	private $ListaMensagemRetornoLote;	
	private $xml;


	function __construct()
	{
		$this->ListaRps	=	array();
		$this->ListaMensagemRetorno	=	array();
		$this->ListaMensagemAlertaRetorno	=	array();
		$this->ListaMensagemRetornoLote	=	array();
	}

	function __destruct()
	{
	}


	static function _factory()
	{
		return new LoteRps;
	}
	
	public function __get($propriedade)
	{
		return $this->$propriedade;
	}	

	public function __set($propriedade, $valor)
	{
		$this->$propriedade	=	$valor;
	}	
	
	public function addRps(Rps $objRps)
	{
		array_push($this->ListaRps, $objRps);
	}
	
	public function addMensagemRetorno(MensagemRetorno $MensagemRetorno)
	{
		array_push($this->ListaMensagemRetorno, $MensagemRetorno);
	}	
	
	
	
	
	public function populaDados($dados)
	{
		$this->__set("NumeroLote", $dados["NumeroLote"]);
		$this->__set("QuantidadeRps", $dados["QuantidadeRps"]);
                
		//Rps's
                if($dados["ListaRps"]["Rps"]){
                    
                    if ( $dados['QuantidadeRps'] > 1 ){
                        foreach($dados["ListaRps"]["Rps"] as $dadosRps)
                        {

                                $objRps	=	Rps::_factory();
                                $objRps->populaDados($dadosRps["InfDeclaracaoPrestacaoServico"]);
                                $this->addRps($objRps);
                        }
                    } else {
                        $objRps = Rps::_factory();
                        $objRps->populaDados($dados["ListaRps"]["Rps"]["InfDeclaracaoPrestacaoServico"]);
                        $this->addRps($objRps);
                    }
                }

		
		//Rps's
		if($dados["Prestador"])
		{
			$objPrestador=	new Prestador();
			
			$objIdent	=	new IdentificacaoPessoa();
			$objIdent->populaDados($dados["Prestador"]);
			$objPrestador->__set("IdentificacaoPrestador", $objIdent);			
			$this->__set("Prestador", $objPrestador);		
		}		
		
		$this->__set("Protocolo", $dados["Protocolo"]);

	}

}
?>